package ma.techit.pfe.agence.voyage.dao.implementation;

import java.util.List;

import org.springframework.stereotype.Repository;

import ma.techit.pfe.agence.voyage.dao.interfaces.ServiceVoitureDaoIn;
import ma.techit.pfe.agence.voyage.model.ServiceVoiture;
import ma.techit.pfe.agence.voyage.model.ServiceVol;
import ma.techit.pfe.agence.voyage.util.SessionFactoryHelper;

@Repository
public class ServiceVoitureDao extends SessionFactoryHelper implements ServiceVoitureDaoIn{

	public void save(ServiceVoiture serviceVoiture) {
		// TODO Auto-generated method stub
		getCurrentSession().save(serviceVoiture);
		
	}

	public void update(ServiceVoiture serviceVoiture) {
		// TODO Auto-generated method stub
		getCurrentSession().update(serviceVoiture);
		
	}

	public void delete(Long id) {
		// TODO Auto-generated method stub
		getCurrentSession().delete(findByID(id));
	}

	public ServiceVoiture findByID(Long id) {
		// TODO Auto-generated method stub
		return (ServiceVoiture) getCurrentSession()
				.createQuery("from ServiceVoiture where id = " + id).list()
				.get(0);
	}

	public List<ServiceVoiture> findAll() {
		// TODO Auto-generated method stub
		return  getCurrentSession()
				.createQuery("from ServiceVoiture ").list()
				;
	}

	public List<ServiceVoiture> find(int jtStartIndex, int jtPageSize) {
		// TODO Auto-generated method stub
		List<ServiceVoiture> records = getCurrentSession().createQuery("from ServiceVoiture")
				.setFirstResult(jtStartIndex).setMaxResults(jtStartIndex).list();
		return records;
	}

	public int countAllService() {
		// TODO Auto-generated method stub
		List allRecords = getCurrentSession().createQuery("from ServiceVoiture").list();
		return allRecords == null ? 0 : allRecords.size();
	}

}